還記得容器的主要效益之一嗎?是頻繁且心安的進行改版。剛好改版就是維運端最擔心的事情之一,所以維運人員和容器應該一拍即合?
先來談談改版的理想狀況。開發人員把新的、且已經測試過的容器樣板簽入到容器的版控系統之後,維運人員只要能知道容器要用哪個樣板,以及要啟動容器用的設定檔,把設定檔從版控系統中簽出並調整好後 (理想上各種環境的設定應該要寫在一起) 簽入到版控系統,按下確認要佈署的按鍵之後,剩下的佈署工作就是容器平台要處理的。
再來談談問題排除的理想狀況。理想狀態是是維運人員根本不需要熟悉容器裡應用要如何除錯,如果遇到問題,就把舊容器砍掉,重新開一個全新的容器頂上去。你可能聽過 pets vs. cattle,容器就是實現的手段之一。
聽起來很美好,這就是維運的完美境界啊 (遠望
讓我們回到現實吧,現實是
但從這些現實問題上,我們也可以看出些影子,為什麼容器常常和 DevOps 一起談?因為 容器可以強迫 Dev 考慮一些原本 Ops 應該要考慮的事情,這就是 DevOps 的初衷。所以 Ops 應該要比 Dev 更歡迎容器的啊,只是如前面所說,Ops面臨到更多組織面的阻力。
容器是可以搭配 DevOps 的工具,但是組織面有提供 DevOps 的誘因與激勵嗎? Culture?
技術在組織中發揮的障礙還是在人啊,尤其是像容器這種會改變流程運作的技術。